﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace hanghoa
{
    public partial class frmMain : Form
    {
        SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=QLhanghoa;Integrated Security=True");
        string tk;
        bool login = false;
        string lv;

        bool them;
        public delegate void sendData(string lv,string ten,string id, bool dn);
        public sendData sender;
        public void loaduser()
        {
            try
            {
                conn.Open();
                string sql = "SELECT ID 'Tài khoản',PassWord 'Mật khẩu',lv 'Level',TenHienThi'Tên Hiển Thị' FROM tbluser";
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                dt.Clear();
                da.Fill(dt);
                dagUser.DataSource = dt;
                conn.Close();
            }
            catch
            {
                MessageBox.Show("Không thể kết nối đến sever", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public frmMain()
        {
            InitializeComponent();
            sender = new sendData(getData);
        }
        private void getData(string cap, string name,string id, bool dn)
        {
            lv = cap;
            lblname.Text ="Xin Chào  "+ name;
            login = dn;
            tk = id;
            

        }
        private void Form1_Load(object sender, EventArgs e)
        {
            if (login == true)
            {
                đăngNhậpToolStripMenuItem.Enabled = false;
            }
            if (lv != "1")
            {
                quảnLýTàiKhoảnToolStripMenuItem.Visible = false;
            }
        }

        private void frmMain_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }

        private void đăngXuấtToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tk=null;
            login = false;
            lv = null;
            lblname.Text = "";
            đăngNhậpToolStripMenuItem.Enabled = true;
        }

        private void đăngNhậpToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmlogin frm = new frmlogin();
            this.Hide();
            frm.Show();
        }

        private void thoátToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

       

       
     

        private void thiếtLậpTàiKhoảnToolStripMenuItem_Click(object sender, EventArgs e)
        {
            grbUser.Visible = false;
            groupBox1.Visible = true;
            lbtk.Text = tk;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                
                
            }
            catch
            {
                MessageBox.Show("Không thể kết nối đến sever","Lỗi",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
            string sql = "SELECT PassWord FROM tbluser WHERE id='"+lbtk.Text+"'";
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read())
            {
                if ((txtoldpword.Text == reader[0].ToString()) && (txtnewpword1.Text == txtnewpword2.Text))
                {
                    conn.Close();
                    conn.Open();
                    string sql1 = "UPDATE tbluser SET PassWord='" + txtnewpword1.Text + "' WHERE id='" + tk + "'";
                    SqlCommand co = new SqlCommand(sql1, conn);
                    co.ExecuteNonQuery();
                    MessageBox.Show("Sửa thành công","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Thông tin nhập vào sai");
                }
            }
            conn.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            txtnewpword1.Text = "";
            txtnewpword2.Text = "";
            txtoldpword.Text = "";
        }

        private void button3_Click(object sender, EventArgs e)
        {
            
            try
            {
                string sql = "UPDATE tbluser SET TenHienThi=N'" + txttenhienthi.Text + "' WHERE id='" + tk + "'";
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.ExecuteNonQuery();
                conn.Close();
                MessageBox.Show("Sửa thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                lblname.Text ="Xin Chào "+ txttenhienthi.Text;
            }
            catch
            {
                MessageBox.Show("Không thể kết nối đến sever", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void quảnLýTàiKhoảnToolStripMenuItem_Click(object sender, EventArgs e)
        {
            #region Thiết lập các nút
            groupBox1.Visible = false;
            grbUser.Visible = true;
            grbtk.Visible = false;
            btnSuaID.Enabled = true;
            btnLuuID.Enabled = false;
            btnXoaID.Enabled = true;
            txtID.ReadOnly = true;
            btnThemID.Enabled = true;
            #endregion
            loaduser();
            txtID.DataBindings.Clear();
            txtID.DataBindings.Add("Text", dagUser.DataSource, "Tài khoản");
            txtPassTk.DataBindings.Clear();
            txtPassTk.DataBindings.Add("Text", dagUser.DataSource, "Mật khẩu");
            cbolv.DataBindings.Clear();
            cbolv.DataBindings.Add("Text", dagUser.DataSource, "Level");
            txtTentk.DataBindings.Clear();
            txtTentk.DataBindings.Add("Text", dagUser.DataSource, "Tên Hiển Thị");
        }

        private void btnThemID_Click(object sender, EventArgs e)
        {
            grbtk.Visible = true;
            txtID.ReadOnly = false;
            btnLuuID.Enabled = true;
            btnSuaID.Enabled = false;
            btnXoaID.Enabled = false;
            btnThemID.Enabled = false;
            txtID.DataBindings.Clear();
            txtID.ResetText();
            txtPassTk.DataBindings.Clear();
            txtPassTk.ResetText();
            cbolv.DataBindings.Clear();
            cbolv.ResetText();
            txtTentk.DataBindings.Clear();
            txtTentk.ResetText();
            them = true;
        }

        private void btnSuaID_Click(object sender, EventArgs e)
        {
            grbtk.Visible = true;
            btnLuuID.Enabled = true;
            btnThemID.Enabled = false;
            btnXoaID.Enabled = false;
            btnSuaID.Enabled = false;
            them = false;
            txtID.DataBindings.Clear();
            txtID.DataBindings.Add("Text", dagUser.DataSource, "Tài khoản");
            txtPassTk.DataBindings.Clear();
            txtPassTk.DataBindings.Add("Text", dagUser.DataSource, "Mật khẩu");
            cbolv.DataBindings.Clear();
            cbolv.DataBindings.Add("Text", dagUser.DataSource, "Level");
            txtTentk.DataBindings.Clear();
            txtTentk.DataBindings.Add("Text", dagUser.DataSource, "Tên Hiển Thị");
        }

        private void btnLuuID_Click(object sender, EventArgs e)
        {
            if (them)
            {

                string sql = "INSERT INTO tbluser(ID,PassWord,lv,TenHienThi) VALUES('" + txtID.Text + "','" + txtPassTk.Text + "','" + cbolv.Text + "',N'" + txtTentk.Text + "')";
                try
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
                catch
                {
                    MessageBox.Show("Không thể kết nối đến sever", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                btnSuaID.Enabled = true;
                btnXoaID.Enabled = true;
                btnThemID.Enabled = true;
                btnLuuID.Enabled = false;
                grbtk.Visible = false;
                loaduser();
            }
            else
            {
                string sql = "UPDATE tbluser SET PassWord='" + txtPassTk.Text + "',lv='" + cbolv.Text + "',TenHienThi=N'" + txtTentk.Text + "' WHERE ID='" + txtID.Text + "'";
                try
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
                catch
                {
                    MessageBox.Show("Không thể kết nối đến sever", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                btnSuaID.Enabled = true;
                btnXoaID.Enabled = true;
                btnThemID.Enabled = true;
                btnLuuID.Enabled = false;
                grbtk.Visible = false;
                loaduser();
            }
        }

        private void btnXoaID_Click(object sender, EventArgs e)
        {
            int r = dagUser.CurrentCell.RowIndex;
            string sql = "DELETE FROM tbluser Where ID='" + dagUser.Rows[r].Cells[0].Value.ToString() + "'";
            try
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch
            {
                MessageBox.Show("Không thể kết nối đến sever", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            loaduser();
        }

       

       

        

        

        
        
    }
}
